<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>
  <script>
    /* 
      管理员
        创建项目在远程仓库
        1 克隆项目到本地
          git clone 地址
        2 创建develop分支
          git branch develop
        3 发布分支到远程
          git push -u origin develop
        4 必要时需要初始化develop的项目目录
          1) 添加初始化的目录
          2) 添加暂存区  git add .
          3) 提交本地仓库  git commit -m '信息'
          4) 推送到远程仓库  git push

      开发者
        在项目中通过develop检出新分支 命名规范feature/名字
        1 创建新分支（通过develop检出新分支）
          git checkout -b 分支名 develop
        2 发布新分支
          git push -u origin 分支名
        3 完成自己的功能，在完成功能时多次提交
          1) 添加暂存区  git add .
          2) 提交本地仓库  git commit -m '信息'
          3) 推送到远程仓库  git push 
        4 功能完成后，将内容合并到develop
          1) 先将远程develop拉取到本地的feature
            git pull origin develop
            拉取后git push一下
          2) 检出develop
            git checkout develop
    
          1) 先检出develop
            git checkout develop
          2) 拉取最新的内容
            git pull

          3) 合并分支
            git merge --no-ff feature分支名 -m '信息'
          4) 推送本地develop到远程
            git push
        5 删除分支
          1) 删除本地分支
            git branch -d 分支名
          2) 删除远程分支
            git push origin --delete 分支名
      
      release版本发布者
        如果develop上有新功能的更新，可以发布版本了
        1 从develop分支检出新分支
          git checkout -b release-vx.x.x develop
        2 发布分支
          git push -u origin release-vx.x.x
        如果该版本有bug，直接在该分支进行修改
          1) 修改文件
          2) 暂存
            git add .
          3) 提交
            git commit -m '信息'
          4) 推送
            git push
          重复操作直到bug修复完毕


          5) 检出develop
            git checkout develop
          6) 和release版本进行合并
            git merge --no-ff release-vx.x.x -m '信息'
          7) 推送到远程develop
            git push
        如果没有bug
        3 检出master
          git checkout master
        4 合并
          git merge --no-ff release-vx.x.x
        5 推送到远程master
          git push
        6 删除release分支
          git branch -d release-vx.x.x
          git push origin --delete release-vx.x.x
        7 给master打标签并且推送远程
          git tag -a vx.x.x master
          git push --tags
        
      热修复人员
        在版本发布后如果在线上版本发现问题，不要直接在develop上进行修改
        1 从master上检出新分支hotfix-v1.0.1
          git checkout -b hotfix-vx.x.x master
        2 修复bug
          1) 修改文件bug
          2) 暂存
            git add .
          3) 提交
            git commit -m '信息'
        3 检出master
          git checkout master
        4 合并hotfix
          git merge --no-ff hotfix-vx.x.x -m '信息'
        5 推送到远程
          git push
        
        6 检出develop
          git checkout develop
        7 合并hotfix到develop
          git merge --no-ff hotfix-vx.x.x -m '信息'
        8 推送到远程develop
          git push
        
        9 删除分支
          git branch -d hotfix-vx.x.x

        10 给master打标签
          git tag -a vx.x.x master
        11 推送tags
          确保现在本地是master分支
          git push --tags
      在进行分支操时，一定要看清楚自己在哪个分支上
    */
  
  
  
  </script>
</body>
</html>